With the rising popularity of client/server computing and the Web, businesses are looking for even better ways to increase their competitive advantage. Information is one of business's most precious commodities. Accordingly, there is a need for flexibility to position information in ways that better supports business organizations and their customers.
Client/server technology offers graphical user interfaces (GUI's) a choice of open systems, rapid application development, increased end-user productivity and much more. By combining this technology with the Internet and intranets, a powerful system is made available to distribute information throughout the business and customer communities. The Web is a purely client/server environment that can bring business to customers. Even if a business has information that needs to be kept within the organization, the Web technology is still available as an intranet, which is a web site behind a firewall and made available only to employees of the organization. The term "firewall" as used herein means a combination of hardware and software that prevents access to secured data over an Internet or Intranet. The idea is to protect a cluster of more loosely administered machines hidden behind the firewall from crackers or hackers.
There is also a need to make the move to client/server and Internet technologies without having to migrate from existing host applications. The best way to build new client/server applications that can be integrated with current applications is to combine the dependability of enterprise-wide systems with the flexibility of distributed processing.
Early attempts at capitalizing on the advantages of the client/server applications involved the use of the PC as a "dumb terminal", or a character-based network terminal, that interacted directly with legacy programs operating on a mainframe or host computer. This approach was unsatisfactory because the user was limited to a character-mode display. Later attempts included such solutions as the Designer Workbench (which is a software tool now referred to as PowerClient and available from Unisys Corporation, assignee of this patent ). The PowerClient product gives the user the ability to capture Forms descriptions that are on the mainframe, and to convert character-based fields into Windows-based visual elements such as edit fields, buttons, etc. A language called SCL (Screen Control Language) was created for describing the visual elements as well as indicating processing that will be performed on the client PC's.
With reference to various types of legacy programs operating on the host, LINC (i.e., "Logical Information Network Compiler") can generate Screen Control Language ("SCL") directly. SCL is created with the use of the PowerClient for third generation languages (3GL) such as COBOL or ALGOL legacy programs; and, in the case of MAPPER, which is a third system and language for legacy programs, there is no automatic way to generate SCL. For MAPPER, the user must use a Forms design tool (such as the Development Studio product) for drawing visual elements to generate the required SCL that matches the MAPPER application.
More recently, it was possible to take SCL definitions of a Form and turn them into a Visual Basic or a PowerBuilder executable program. For an amplification of this method reference is made to a co-pending patent application entitled A METHOD FOR GENERATING CODE FOR MODIFYING EXISTING EVENT ROUTINES FOR CONTROLS ON A FORM, U.S. Ser. No. 08/803,137, filed Feb. 19, 1997 by the same inventors hereof and assigned to the same assignee hereof. PowerBuilder is a product of PowerSoft Company (which has recently merged with Sybase, Inc. of Emeryville, Calif., and Visual Basic is a product of Microsoft Corporation of Redmond, Wash. However, since the Visual Basic and PowerBuilder client builders generate executables, there is no way to incorporate the presentation functionality they provide into a Web browser, which is a client-side software module for accessing a Web server. Moreover, there is no obvious way to combine client/server computing on the Web with GUI elements.